package com.whmskj.xjlhbc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.whmskj.xjlhbc.domain.Jx05dStaffIncentiveAndSanctionLo;
import com.whmskj.xjlhbc.dto.JcQueryDto;

import java.util.List;
import java.util.Map;

public interface IJx05dStaffIncentiveAndSanctionLoService extends IService<Jx05dStaffIncentiveAndSanctionLo> {

    List<Jx05dStaffIncentiveAndSanctionLo> queryList(JcQueryDto param);

    boolean add(Jx05dStaffIncentiveAndSanctionLo body);

    /**
     * 
     * @param ids
     * @return
     */
    boolean approve(List<String> ids);

    /**
     * 作废
     * @param ids
     * @return
     */
    boolean invalidate(List<String> ids);


    Map<String, Object> getCurrentUserStatistics();

    /**
     * 获取总体统计
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 总体统计数据
     */
    Map<String, Object> getStatisticsOverview(String startDate, String endDate);

    /**
     * 获取车间统计
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 车间统计数据列表
     */
    List<Map<String, Object>> getWorkshopStatistics(String startDate, String endDate);

    /**
     * 获取班组统计
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 班组统计数据列表
     */
    List<Map<String, Object>> getTeamStatistics(String startDate, String endDate);

    /**
     * 获取员工统计
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 员工统计数据列表
     */
    List<Map<String, Object>> getEmployeeStatistics(String startDate, String endDate);
}
